In a nonvolatile memory representing a NAND flash memory, information is stored according to the amount of charges accumulated in a floating gate of a memory cell. The stored information can be read out by applying an appropriate voltage (a read voltage) to the memory cell.
However, a distribution of the amount of charges accumulated in the floating gate of the memory cell may be changed from an initial state as stress such as writing or erasing is built up. Therefore, the value of the read voltage may be changed.